The field of the present invention relates to optical reading systems and, more particularly, to optical code readers capable of reading multiple code formats that can selectively read barcodes or other symbols or indicia using either an imaging approach or a flying-spot approach. By combining these two approaches into a single system, the present invention enjoys the benefits of both approaches and avoids many of their drawbacks.
Most, if not all, conventional barcode readers use one of two general approaches to gathering data: either by using a flying-spot laser scanning technique, or by using an imaging technique. In flying-spot laser scanning systems, a beam of light is swept across a target barcode, and the reflected and/or refracted light from the target is detected and processed to decode the barcode. In imaging barcode readers, an image of the barcode is typically captured using an array of pixels (CCD or CMOS, for example), and the captured image is processed to decode the barcode. Either a one dimensional array of pixels or a two-dimensional array of pixels can be used to capture the barcode data. In some CMOS-based imaging systems, several one dimensional arrays of pixels oriented at different angles may be used in a crossing pattern, to provide multi-directional imaging capability.
Because both flying-spot and imaging readers have drawbacks, neither type is optimum for all situations. For example, imaging readers are best suited for situations in which the imaging head can be positioned very close the target barcode. But if the target barcode is further away, an optical reader relying upon an imaging device for gathering data can have much more difficulty reading the target. This problem is due, in part, to difficulties in focusing images from distant targets onto the CCD or other imaging device, and to difficulties in illuminating a distant target using a local illumination source.
On the other hand, a drawback of handheld flying-spot laser readers is that the scan line (i.e., the path traveled by the scanning spot across the target) must usually be aimed manually at the target barcode, with a relatively high degree of accuracy, for each scan. When all of the barcodes are oriented in the same direction, this drawback is relatively minor. But when the barcodes being scanned are oriented randomly (e.g., when an assortment of products are being checked out at a cashier), the scanning head must be rotated for each scan until the scan line lines up with the axis of the bar code. This random orientation can slow down the scanning process significantly.
An advantage of flying-spot laser scanners is that they generally have a larger depth of field than optical readers using imaging devices. However, it is nevertheless difficult to design a flying-spot laser reader that can read well both distant targets and targets that are very close to the scanning device.
A further drawback of flying-spot laser scanners is that it can be very difficult or even impossible to read two-dimensional barcodes. Two dimensional barcodes and other codes are becoming increasingly common, and include, for example, stacked codes (e.g., Code 16K, Code 49, PDF417, micro-PDF, etc.), matrix codes (e.g., DataMatrix, Code 1, Maxicode, etc.), and RSS codes. Further, two-dimensional codes may be present as part of a composite code or linked code, wherein a one-dimensional barcode appears on the same label as, and indicates the presence of, a two-dimensional barcode. Reading a two-dimensional code with a flying-spot laser scanner is difficult or impossible because the data is read by the flying-spot laser scanner along either a linear scan line caused by the sweeping of the outgoing laser beam, or possibly along several scan lines at different angular orientations, depending upon the scanning pattern.
Accordingly, to read two-dimensional codes, symbols or other indicia, the ability to capture an entire two-dimensional image is generally required. Most commonly, an imaging device is utilized to gather data over a two-dimensional imaging region, and the gathered data is then processed by specialized software algorithms in an attempt to identify features of the two-dimensional code, symbol or other indicia. While optical readers relying solely on an imaging device for gathering data can read two-dimensional bar codes (or in some cases both two-dimensional and one-dimensional bar codes), the relatively small depth of field of such imaging devices, as noted above, limits their usefulness.
There exists a need for an optical reader capable of reading both one-dimensional and two-dimensional bar codes or symbols, that has improved depth of field over optical readers relying solely on an imaging device to capture input data.